import unittest
from framework.AW.STrak import strak
from framework.AW.STrak.process import *
from framework.AW.STrak.strak import *
from framework.AW.STrak.station import *
from framework.AW.STrak.car import *


def inch_move():
    try:
        """
                用例1：正向0.1mm寸动
                1.初始化 包含动作：急停 初始化
                2.自动模式切换到手动模式下                   
                3.小车3运动模式调整为正向寸动模式
                4.选择3号小车，使能 
                5.读取小车当前位置
                5.开始移动
                6.检查位置
                
                7..移动结束后将小车三运动模式调整回绝对模式 以免影响其他测试
                8.移动结束后将模式调整回自动模式 以免影响其他测试
                """
        initial()
        mode_switch_manual()
        car_sport_mode_inch_move_forward(3)
        enable_car(3)
        expect_pos = car_pos(3) + 0.1
        car_move(3)
        car_pos_check(3, expect_pos)

    except Exception as e:
        print(f"测试过程出现异常:{e}")
        raise
    finally:
        car_sport_mode_abs(3)
        mode_switch_atuo()


class InchMove(unittest.TestCase):
    @staticmethod
    def testOn():
        inch_move()